package org.lq.ssm.vo;

import lombok.Data;
import org.lq.ssm.dto.DeptDTO;
import org.lq.ssm.dto.MenuDTO;
import org.lq.ssm.dto.PermissionDTO;

import java.util.Date;
import java.util.List;

@Data
public class RoleVO {
    /**
     * id : 1
     * name : 超级管理员
     * dataScope : 全部
     * level : 1
     * remark : ·
     * permissions : [{"id":1,"name":"ADMIN","pid":0,"alias":"超级管理员","createTime":1543811268000,"children":null}]
     * menus : [{"id":10,"name":"组件管理","sort":50,"path":"components","component":null,"pid":0,"cache":false,"hidden":false,"componentName":null,"icon":"zujian","children":null,"createTime":1545197896000,"iframe":false},{"id":22,"name":"二级菜单1","sort":999,"path":"menu1","component":"nested/menu1/index","pid":21,"cache":false,"hidden":false,"componentName":null,"icon":"menu","children":null,"createTime":1546590209000,"iframe":false},{"id":6,"name":"系统监控","sort":10,"path":"monitor","component":null,"pid":0,"cache":false,"hidden":false,"componentName":null,"icon":"monitor","children":null,"createTime":1545117468000,"iframe":false},{"id":23,"name":"二级菜单2","sort":999,"path":"menu2","component":"nested/menu2/index","pid":21,"cache":false,"hidden":false,"componentName":null,"icon":"menu","children":null,"createTime":1546590237000,"iframe":false},{"id":32,"name":"异常日志","sort":12,"path":"errorLog","component":"monitor/log/errorLog","pid":6,"cache":false,"hidden":false,"componentName":"ErrorLog","icon":"error","children":null,"createTime":1547358543000,"iframe":false},{"id":15,"name":"富文本","sort":52,"path":"tinymce","component":"components/Editor","pid":10,"cache":false,"hidden":false,"componentName":"Editor","icon":"fwb","children":null,"createTime":1545883105000,"iframe":false},{"id":30,"name":"代码生成","sort":22,"path":"generator","component":"generator/index","pid":36,"cache":false,"hidden":false,"componentName":"GeneratorIndex","icon":"dev","children":null,"createTime":1547192755000,"iframe":false},{"id":39,"name":"字典管理","sort":8,"path":"dict","component":"system/dict/index","pid":1,"cache":false,"hidden":false,"componentName":"Dict","icon":"dictionary","children":null,"createTime":1554868144000,"iframe":false},{"id":33,"name":"Markdown","sort":53,"path":"markdown","component":"components/MarkDown","pid":10,"cache":false,"hidden":false,"componentName":"Markdown","icon":"markdown","children":null,"createTime":1552024004000,"iframe":false},{"id":11,"name":"图标库","sort":51,"path":"icon","component":"components/IconSelect","pid":10,"cache":false,"hidden":false,"componentName":"Icons","icon":"icon","children":null,"createTime":1545197929000,"iframe":false},{"id":38,"name":"接口文档","sort":26,"path":"swagger2","component":"tools/swagger/index","pid":36,"cache":false,"hidden":false,"componentName":"Swagger","icon":"swagger","children":null,"createTime":1553860673000,"iframe":false},{"id":3,"name":"角色管理","sort":3,"path":"role","component":"system/role/index","pid":1,"cache":false,"hidden":false,"componentName":"Role","icon":"role","children":null,"createTime":1545117367000,"iframe":false},{"id":18,"name":"存储管理","sort":23,"path":"storage","component":"tools/storage/index","pid":36,"cache":false,"hidden":false,"componentName":"Storage","icon":"qiniu","children":null,"createTime":1546225935000,"iframe":false},{"id":21,"name":"多级菜单","sort":900,"path":"nested","component":"","pid":0,"cache":false,"hidden":false,"componentName":null,"icon":"menu","children":null,"createTime":1546590123000,"iframe":false},{"id":2,"name":"用户管理","sort":2,"path":"user","component":"system/user/index","pid":1,"cache":false,"hidden":false,"componentName":"User","icon":"peoples","children":null,"createTime":1545117284000,"iframe":false},{"id":37,"name":"岗位管理","sort":7,"path":"job","component":"system/job/index","pid":1,"cache":false,"hidden":false,"componentName":"Job","icon":"Steve-Jobs","children":null,"createTime":1553838678000,"iframe":false},{"id":27,"name":"三级菜单2","sort":999,"path":"menu1-2","component":"nested/menu1/menu1-2","pid":22,"cache":false,"hidden":false,"componentName":null,"icon":"menu","children":null,"createTime":1546853252000,"iframe":false},{"id":36,"name":"系统工具","sort":20,"path":"sys-tools","component":"","pid":0,"cache":false,"hidden":false,"componentName":null,"icon":"sys-tools","children":null,"createTime":1553828255000,"iframe":false},{"id":14,"name":"邮件工具","sort":24,"path":"email","component":"tools/email/index","pid":36,"cache":false,"hidden":false,"componentName":"Email","icon":"email","children":null,"createTime":1545876789000,"iframe":false},{"id":16,"name":"图床管理","sort":25,"path":"pictures","component":"tools/picture/index","pid":36,"cache":false,"hidden":false,"componentName":"Pictures","icon":"image","children":null,"createTime":1545961013000,"iframe":false},{"id":17,"name":"项目地址","sort":0,"path":"https://github.com/elunez/eladmin","component":"","pid":0,"cache":false,"hidden":false,"componentName":null,"icon":"github","children":null,"createTime":1545980989000,"iframe":true},{"id":9,"name":"SQL监控","sort":14,"path":"druid","component":"monitor/sql/index","pid":6,"cache":false,"hidden":false,"componentName":"Sql","icon":"sqlMonitor","children":null,"createTime":1545117574000,"iframe":false},{"id":4,"name":"权限管理","sort":4,"path":"permission","component":"system/permission/index","pid":1,"cache":false,"hidden":false,"componentName":"PermissionDTO","icon":"permission","children":null,"createTime":1545117405000,"iframe":false},{"id":7,"name":"操作日志","sort":11,"path":"logs","component":"monitor/log/index","pid":6,"cache":true,"hidden":false,"componentName":"Log","icon":"log","children":null,"createTime":1545117506000,"iframe":false},{"id":28,"name":"定时任务","sort":21,"path":"timing","component":"system/timing/index","pid":36,"cache":false,"hidden":false,"componentName":"Timing","icon":"timing","children":null,"createTime":1546864480000,"iframe":false},{"id":24,"name":"三级菜单1","sort":999,"path":"menu1-1","component":"nested/menu1/menu1-1","pid":22,"cache":false,"hidden":false,"componentName":null,"icon":"menu","children":null,"createTime":1546590288000,"iframe":false},{"id":8,"name":"系统缓存","sort":13,"path":"redis","component":"monitor/redis/index","pid":6,"cache":false,"hidden":false,"componentName":"Redis","icon":"redis","children":null,"createTime":1545117541000,"iframe":false},{"id":1,"name":"系统管理","sort":1,"path":"system","component":null,"pid":0,"cache":false,"hidden":false,"componentName":null,"icon":"system","children":null,"createTime":1545117089000,"iframe":false},{"id":34,"name":"Yaml编辑器","sort":54,"path":"yaml","component":"components/YamlEdit","pid":10,"cache":false,"hidden":false,"componentName":"YamlEdit","icon":"dev","children":null,"createTime":1552031380000,"iframe":false},{"id":19,"name":"支付宝工具","sort":27,"path":"aliPay","component":"tools/aliPay/index","pid":36,"cache":false,"hidden":false,"componentName":"AliPay","icon":"alipay","children":null,"createTime":1546239158000,"iframe":false},{"id":35,"name":"部门管理","sort":6,"path":"dept","component":"system/dept/index","pid":1,"cache":false,"hidden":false,"componentName":"Dept","icon":"dept","children":null,"createTime":1553478360000,"iframe":false},{"id":5,"name":"菜单管理","sort":5,"path":"menu","component":"system/menu/index","pid":1,"cache":false,"hidden":false,"componentName":"Menu","icon":"menu","children":null,"createTime":1545117448000,"iframe":false}]
     * depts : []
     * createTime : 1542942277000
     */

    private int id;
    private String name;
    private String dataScope;
    private int level;
    private String remark;
    private Date createTime;
    private List<PermissionDTO> permissions;
    private List<MenuDTO> menus;
    private List<DeptDTO> depts;


//    @Data
//    public static class PermissionsVO {
//        /**
//         * id : 1
//         * name : ADMIN
//         * pid : 0
//         * alias : 超级管理员
//         * createTime : 1543811268000
//         * children : null
//         */
//
//        private int id;
//        private String name;
//        private int pid;
//        private String alias;
//        private long createTime;
//        private Object children;
//
//    }
//    @Data
//    public static class MenusVO {
//        /**
//         * id : 10
//         * name : 组件管理
//         * sort : 50
//         * path : components
//         * component : null
//         * pid : 0
//         * cache : false
//         * hidden : false
//         * componentName : null
//         * icon : zujian
//         * children : null
//         * createTime : 1545197896000
//         * iframe : false
//         */
//
//        private int id;
//        private String name;
//        private int sort;
//        private String path;
//        private Object component;
//        private int pid;
//        private boolean cache;
//        private boolean hidden;
//        private Object componentName;
//        private String icon;
//        private Object children;
//        private long createTime;
//        private boolean iframe;
//    }
}
